home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Purity / Purity #21 (1994-01-12)(Diesel)(DE)[WB].zip / Purity #21 (1994-01-12)(Diesel)(DE)[WB].adf / ModToPas / txt / TPSystem.mod < prev    next >
Text File  |  1993-12-13  |  2KB  |  103 lines

  1. (**********************************************************************
  2.  
  3.     :Program.    TPSystem.mod
  4.     :Contents.   Turbo Pascal Systemprozeduren
  5.     :Author.     Markus Uhlendahl
  6.     :Address.    Vorm Burgtor 16, D-4408 Dülmen
  7.     :Phone.      02594/81540
  8.     :Copyright.  Public Domain
  9.     :Language.   Modula-2
  10.     :Translator. M2Amiga AMSoft V3.3d
  11.  
  12. **********************************************************************)
  13. IMPLEMENTATION MODULE TPSystem;
  14.  
  15.  
  16. FROM SYSTEM IMPORT ADDRESS,SHIFT,BITSET;
  17.  
  18. FROM Heap   IMPORT Available,Allocate,Deallocate;
  19.  
  20. IMPORT Dos;
  21.  
  22. IMPORT RandomNumber;
  23.  
  24.  
  25. VAR PA[0BFE000H] : BITSET;
  26.  
  27.  
  28. PROCEDURE Delay (i : INTEGER);
  29.  
  30.   BEGIN
  31.     Dos.Delay (i DIV 20);
  32.   END Delay;
  33.  
  34.  
  35. PROCEDURE Dispose (p : ADDRESS);
  36.  
  37.   BEGIN
  38.     Deallocate (p);
  39.   END Dispose;
  40.  
  41.  
  42. PROCEDURE Hi (i : INTEGER) : INTEGER;
  43.  
  44.   BEGIN
  45.     RETURN (i DIV 256);
  46.   END Hi;
  47.  
  48.  
  49. PROCEDURE keypressed () : BOOLEAN;
  50.  
  51.   BEGIN
  52.     RETURN (NOT (6 IN PA));
  53.   END keypressed;
  54.  
  55.  
  56. PROCEDURE Lo (i : INTEGER) : INTEGER;
  57.  
  58.   BEGIN
  59.     RETURN (i MOD 256);
  60.   END Lo;
  61.  
  62.  
  63. PROCEDURE MemAvail () : INTEGER;
  64.  
  65.   BEGIN
  66.     RETURN (Available(TRUE) DIV 16);
  67.   END MemAvail;
  68.  
  69.  
  70. PROCEDURE New (VAR p : ADDRESS);
  71.  
  72.   BEGIN
  73.     Allocate (p,SIZE(p^));
  74.   END New;
  75.  
  76.  
  77. PROCEDURE Random () : REAL;
  78.  
  79.   BEGIN
  80.     RETURN (RandomNumber.Random());
  81.   END Random;
  82.  
  83.  
  84. PROCEDURE Swap (i : INTEGER) : INTEGER;
  85.  
  86.   VAR a,b : INTEGER;
  87.  
  88.   BEGIN
  89.     a:=Lo (i);
  90.     b:=Hi (i);
  91.     RETURN (a*256+b);
  92.   END Swap;
  93.  
  94.  
  95. PROCEDURE UpCase (c : CHAR) : CHAR;
  96.  
  97.   BEGIN
  98.     RETURN (CAP(c));
  99.   END UpCase;
  100.  
  101.  
  102. END TPSystem.
  103.